                            ReadMe file for U7WIN9X
                                 August 2000
                               Gilbert Rouqui
                          <e-mail address to be filled> 
                            <dragon name to be filled>
  
|                                Version 1.20
  
  Objective
  ---------
  
  U7WIN9X allows Ultima 7 Part One (The Black Game / Forge of Virtue) and
| Ultima 7 Part Two (Serpent Isle / Silver Seed) to be played on a PC with 
| a regular Windows 95, 98, and hopefully ME, without the need for a DOS
| reboot or a MSDOS boot diskette.

| For very powerful PC, an alternate patch can be used also under Win2k.
  
  
  Installation of Ultima 7 (if not done already)
  ----------------------------------------------
  
  Install Ultima 7 or Ultima 7 Part 2. 
  
  Then check that your game is the most recent patch. 
  If installed from a Ultima 7 Complete CD, it probably is. 
  Your game may be outdated only if it comes from diskettes. In that case
  you may have to download the fixes from Origin.
  
| In any case, U7WIN9X depends on Ultima 7 being the US distribution of :
  
          Ultima 7 Part One : U7.EXE 689248 bytes, Jun 02 1992
                              U7.EXE contains a version stamp at offset 45D1D
                                 Ultima VII - The Black Gate 
                                 ver 3.4
                                 Created Jun 02 1992 18:50:49
  
          Ultima 7 Part Two : SI.EXE 754240 bytes, Feb 03 1994
                              SI.EXE contains a version stamp at offset 46403
                                 Ultima VII Part II - Serpent Isle
                                 Ver 1.02s5 Final
                                 Created Jul 14 1993 12:43:24
  
  Please do not try to use U7WIN9X on Ultima 7 if it does not fit this version.
  
  If not already done, use the program INSTALL.EXE to select and configure the
  sound and music devices. 
  INSTALL will complain about the machine being in protected mode. You may 
  disregard this message.
  INSTALL will also check your free memory. The DOS amount should be enough
  for the game to run. In fact, since U7RUN.COM is bigger than Ultima 7 expects, 
  the DOS amount requirement should be increased by about 2 KBytes. Narrow 
  memory space fitness may result in the game crashing, especially with Music 
  and Sound active.
| This applies to U7DPMI even more. U7DPMI is 9 KBytes bigger than INSTALL
| expects. This may narrow your memory below 640 K even further.
  
  Installation of U7WIN9X
  -----------------------
  
  Unzip U7WIN9X.ZIP in the same directory where U7.EXE or SI.EXE reside.
  This will create, apart from this readme file and the technical companion
  U7HOW.TXT, two files
          
|         U7RUN.COM   Sep 24 2000 1:20 
|         U7VXD.VXD   Sep 24 2000 1:20
  
  Or copy these two files from wherever you unzipped U7WIN9X.

| From distribution 1.20 and on, the ZIP will also create a new file
|         U7DPMI.COM  Sep 24 2000 1:20
| This file is an older attempt to get Ultima 7 run under Win9x. I switched
| to U7RUN/U7VXD because of the horrendous performance of U7DPMI. But then
| U7DPMI may be helpful because it works ALSO under Win2k, provided you own
| a very powerful PC. In addition its source may interest Linux owners that
| look to run native Ultima 7 under DosEmu.
  
  
  Game Play
  ---------
  
  Open a MSDOS Window. 
  CD to the directory where U7RUN.COM/U7VXD.VXD and U7.EXE or SI.EXE reside.
  Type U7RUN instead of ULTIMA7 or SERPENT.

| If you are willing to experiment with U7DPMI, type U7DPMI instead of U7RUN,
| that is, instead of ULTIMA7 or SERPENT.
  
  This is all. 
  Enjoy the Game.
  
  Tidbits
  -------
  
  To activate the Cheat Mode, type the password after U7RUN as you would have
  done after ULTIMA7 or SERPENT. No, I am not giving the passwords here ...
  
  History of Changes
  ------------------
  
  1.00    Aug 10 2000     Distribution limited to Gaseous Dragon 
                          (Ron Windeyer) for Testing.
  1.01    Aug 12 2000     Added checks for the VXD being found and loaded.
                          Added the removal of XMMHAND.DAT at the beginning.
  1.02    Aug 13 2000     Fixed intermittent No Voodoo messages.
  1.03    Aug 15 2000     Checked the command line parameters for Cheat Mode.
                          Revised the ReadMe and How files.
  -------------------
  1.10    Aug 16 2000     Revised the ReadMe file. 
                          Gather up for public delivery.
| 1.11    Aug 27 2000     Revised the ReadMe and How files from RCGUD input.
|                         Fixed the crash that occured when the Avatar was fed
|                         (possibly also healed) from an open backpack.
| 1.12    Aug 28 2000     Fixed the crash that occured at the end of the Intro
|                         of Serpent Isle while using MT-32 music.
| -------------------
| 1.20    Sep 24 2000     Added the older (much slower) patch based on DPMI
|                         which happens to work under Win2k and may be a base
|                         to port the patch to Linux
|                         Added a separate U7WIN9XS.ZIP which contains all
|                         ASM and LST files in addition to U7WIN9X contents.

  Disclaimers
  -----------
  
  This work is not sponsored, funded, or supported in any way by Origin, Inc,
  or Electronic Arts, Inc.
  
  This work is the personal result of a personal will to prove that Ultima 7 
  could be run under Windows 9X. In particular, it does not engage my company.
  It is Copyright Gilbert Rouqui, August 2000.
  
  It cannot be sold, it can only be distributed or redistributed free of charge
  and only in full without any file being tampered with, including this ReadMe
  file with the Copyright and Disclaimer notices. It cannot be made part of a 
  commercial product without my prior written agreement. If any doubt arises
  about the authenticity of the distribution, you should fetch the original
  ZIP file from Gaseous Dragon Ultima 7 Web page.
  
  Even I do not release it with any garantee that it shall work on any PC
  or any Windows 9X, though I promise to look at trouble reports. 
  Anyway, should the Ultima 7 run with No Sound but not run with a sound/music
  board being selected, there is probably little that I can help you about.
  I shall always assume that the memory fitness checks of INSTALL.EXE have 
  passed. Otherwise please perform the standard clean up of 
  CONFIG.SYS/AUTOEXEC.BAT or check on Gaseous Dragon's page about UMBPCI 
  or RDOSUMB and similar ways to recover memory below 640k. 
  And remember, the DOS Window does not need a DOS mode MOUSE driver,
  because Windows provides one.
  
  I promise that I will NOT try to make U7WIN9X run with Ultima 7 distributions
  that predate Version 3.4 (Part I) or 1.02s5 Final (Part II). Please
  download the patches instead.
  
  +----------------------------------------------------------------------------+
  |   In addition, I cannot garantee in any way that the VXD shall not damage  |
  |   your Windows 9X configuration. You should avoid running any application  |
  |   while Ultima 7 and the VXD are active. If the game crashes, but Windows  |
  |   does not, you should still reboot Windows.                               |
  +----------------------------------------------------------------------------+
  
| On the other hand, U7DPMI is much safer because its protected code is NOT
| running as Trusted by Windows so if it crashes it should not be able to bring
| down Windows. Simply U7VXD.VXD is a Virtual Device Driver, running Protected
| Mode Ring 0 : Trusted, whereas U7DPMI switches itself to Protected Mode 
| Ring 3 : UnTrusted.

  There is no hope at the moment for running Ultima 7 :
      o   in a window (as opposed to full screen)
|         Users on RCGUD have reported that, contrarily to this claim and
|         to my expectations, that Ulitma 7 CAN run in a window. Once the
|         game has started in Full Screen, using Alt-Enter will return it
|         to Windowed. It is awfully slower then, though ...
      o   under Win 2000 or Win NT (as opposed to Win 9X)
|         I am contradicting myself there. Use U7DPMI for this. But I still
|         stand by my original statement, because of U7DPMI horrendous
|         performance on medium CPUs. And no sorry, the performance penalty
|         comes from Windows implementation of DPMI, there is no way I can
|         accelerate U7DPMI. So please do not ask.   
  
  Finally, I do not condone software piracy. So please refrain from asking
  from me or from any person listed here, any file from the game proper.
  
  
  Known Quirks
  ------------
  
  Intermittent trouble reported about Ultima 7 with Win 98 SE with an USB mouse,
      Win 98 SE crashed with HIDCLASS taking a page fault, USB Mouse then lost.
  
| Broken voice - typically a voice stops after 2 seconds or so - or more generally
| sound / music problems are symptoms of
|     o   lack of memory below 640k, please ensure that the configuration passes
|         the memory check by install,
|     o   wrong IOPort / IRQ for soundblaster hardware or emulation thereof, the
|         game accepts 220/240 and IRQ 2,5,7,10, emulation of SBPro by SBLive at
|         typical IRQ 9 will not work.

| Crashes are likely to occur while using Journeying Onward without using Starting
| a New Game or restarting from a Savegame, when the Starting a New Game was done
| under regular Ultima 7 (Normal DOS) or under Exult (different save format).

| When feeding or healing the Avatar or one of his companions from an open backpack,
| the VXD crashed. A bypass was published thanks to Gaseous Dragon so that putting
| first the food/potion on the ground and closing the backpack removed the crash.
| I may mention that moving the food/potion INSIDE the backpack AND THEN using it
| right away on the Avatar also removes the crash. (Tentatively fixed in 1.11).
  
| A crash occured on some machines on Serpent Isle Intro when run in MT-32.
| (Tentatively fixed in 1.12)

  Test Platforms so Far (feel free to report new successes)
  ---------------------------------------------------------
  
      CPU
      ---
      Intel Pentium :     133 MHz, 166 MHz
      Intel Pentium II :  233 MHz, 400 MHz
      Intel Pentium III : 450 MHz, 550 MHz, 800 MHz, 1130 MHz 
      Intel Celeron :     400 MHz
      AMD K6-2 :          450 MHz
  
      Memory
      ------
      16 MB to 160 MB
  
      Sound
      -----
      (ISA) Creative SB 16
      (ISA) Creative AWE 32 PnP
      (PCI) Creative SB 64
      (PCI) Creative PCI 128
      (PCI) Creative SB Live !
      (ISA) Crystal SB Compatible
      (PCI) Aureal SQ2500 Vortex II
  
      Operating System (I would like to mention the OSR levels)
      ----------------
      Microsoft Windows 95 B (OSR ?)
      Microsoft Windows 98, Windows 98 SE
  
      Miscellaneous
      -------------
      USB Mouse (as opposed to Serial or PS/2 Mouse)

| And please report the performance of U7DPMI. But just be prepared to wait
| for 10 minutes in that red/blue wave/patch like pattern at the beginning.
| I would like to know if its performance becomes acceptable for CPUs at
| 700 MHz and up.